package com.gitee.cirnochat.user.model.vo.resp;

import com.gitee.cirnochat.user.model.entity.FriendInfo;
import com.gitee.cirnochat.user.model.enums.UserStatus;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.springframework.beans.BeanUtils;

import java.time.LocalDateTime;

@Data
@NoArgsConstructor
public class FriendVo {
    /**
     * 好友 ID
     */
    @Schema(description = "好友 ID")
    private Long id;

    /**
     * 好友 UUID
     */
    @Schema(description = "好友 UUID")
    private String uuid;

    /**
     * 备注名
     */
    @Schema(description = "备注名")
    private String remark;

    /**
     * 添加时间
     */
    @Schema(description = "添加时间")
    private LocalDateTime createTime;

    /**
     * 好友昵称（从用户表关联出来的）
     */
    @Schema(description = "好友昵称")
    private String nickname;

    /**
     * 好友头像 URL（从用户表关联出来的）
     */
    @Schema(description = "好友头像 URL")
    private String avatar;

    /**
     * 好友状态（在线/离线）
     */
    @Schema(description = "好友状态")
    private UserStatus friendStatus;

    /**
     * 好友上次在线时间
     */
    @Schema(description = "好友上次在线时间")
    private LocalDateTime lastOnlineTime;


    public FriendVo(FriendInfo friendInfo) {
        BeanUtils.copyProperties(friendInfo, this);
    }
}
